// import 'package:flustars/flustars.dart';
// import 'package:flutter/cupertino.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter_html/flutter_html.dart';
// import 'package:flutter_nfmovies/model/nf_home_info_model.dart';
// import 'package:flutter_nfmovies/net/dio_util.dart';
// import 'package:flutter_nfmovies/page/mf_video_info_page.dart';
// import 'package:flutter_screenutil/flutter_screenutil.dart';
// import 'package:html/dom.dart' as dom;
// import 'package:html/parser.dart';
//
// class NFMoviePage extends StatefulWidget {
//   @override
//   _NFMoviePageState createState() => _NFMoviePageState();
// }
//
// class _NFMoviePageState extends State<NFMoviePage> {
//   final String _nfUrl = 'https://www.nfmovies.com/';
//
//   String _data = '';
//   List<NfHomeInfoModel> nfHomes;
//
//   @override
//   void initState() {
//     DioUtil.instance.get(
//         _nfUrl,
//         (String data) => setState(() {
//               _data = data;
//               // nfHomes = [];
//               // parse(data)
//               //     .body
//               //     .getElementsByClassName('myui-panel-box clearfix')
//               //     .forEach((element) {
//               //   var nfHomeInfoModel = NfHomeInfoModel();
//               //   List<NfHomeItemInfoModel> items = [];
//               //   element
//               //       .getElementsByClassName('myui-vodlist clearfix')
//               //       ?.first
//               //       ?.querySelectorAll('li')
//               //       ?.forEach((item) {
//               //     var nfHomeItemInfoModel = NfHomeItemInfoModel();
//               //     dom.Element videoBox =
//               //         item.getElementsByClassName('myui-vodlist__box')?.first;
//               //     dom.Element videoBoxDetail = item
//               //         .getElementsByClassName('myui-vodlist__detail')
//               //         ?.first;
//               //     var videoBoxA = videoBox.querySelector('a');
//               //     var videoBoxTop = videoBox
//               //         ?.getElementsByClassName('pic-tag pic-tag-top')
//               //         ?.first;
//               //     var videoBoxText = videoBox
//               //         ?.getElementsByClassName('pic-text text-right')
//               //         ?.first;
//               //     nfHomeItemInfoModel
//               //       ..title = videoBoxA?.attributes['title']
//               //       ..subTitle = videoBoxText?.text
//               //       ..img = '$_nfUrl${videoBoxA?.attributes['data-original']}'
//               //       ..url = '$_nfUrl${videoBoxA?.attributes['href']}'
//               //       ..score = videoBoxTop?.text
//               //       ..starring = videoBoxDetail?.querySelector('p')?.text;
//               //
//               //     items.add(nfHomeItemInfoModel);
//               //   });
//               //   nfHomeInfoModel
//               //     ..title =
//               //         '${element.getElementsByClassName('myui-panel_hd')?.first?.querySelector('h3')?.text}'
//               //     ..subTitle =
//               //         '${element.getElementsByClassName('myui-panel_hd')?.first?.querySelector('a')?.text}'
//               //     ..data = items;
//               //   nfHomes.add(nfHomeInfoModel);
//               // });
//             }),
//         (code, message) => null);
//     super.initState();
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     var clearfixs = parse(_data)
//         .body
//         // .getElementsByClassName('container')
//         // .first
//         .getElementsByClassName('myui-panel-box clearfix');
//     return SingleChildScrollView(
//       child: Column(
//         children: [
//           AppBar(
//             title: Text('奈菲'),
//           ),
//           buildTopHot(clearfixs[0]),
//           buildExclusive(clearfixs[1]),
//           buildRecommend(clearfixs[2]),
//           buildMovie(clearfixs[3]),
//         ],
//       ),
//     );
//   }
//
//   Widget buildMovie(dom.Element element) {
//     // var clearfix = parse(_data)
//     //     .body
//     //     // .getElementsByClassName('container')
//     //     // .first
//     //     .getElementsByClassName('myui-panel-box clearfix')[3];
//     return Padding(
//       padding: EdgeInsets.symmetric(horizontal: 8.0.w),
//       child: Column(
//         children: [
//           Row(
//             mainAxisAlignment: MainAxisAlignment.spaceBetween,
//             children: [
//               Text(
//                 '${element?.getElementsByClassName('myui-panel_hd')?.first?.querySelector('h3')?.text}',
//                 style: TextStyle(fontSize: 18.sp),
//               ),
//               Text(
//                 '${element?.getElementsByClassName('myui-panel_hd')?.first?.querySelector('a')?.text}',
//                 style: TextStyle(fontSize: 12.sp, color: Colors.grey),
//               ),
//             ],
//           ),
//           Html(
//             data: element
//                 ?.getElementsByClassName('myui-vodlist clearfix')
//                 ?.first
//                 ?.outerHtml,
//             shrinkWrap: true,
//             customRender: {
//               'ul': (
//                 _,
//                 parsedChild,
//                 attributes,
//                 element,
//               ) {
//                 if (null != attributes) {
//                   var boxs = element.querySelectorAll('li');
//                   return Container(
//                     height: 200.h,
//                     width: double.infinity,
//                     child: ListView.separated(
//                       shrinkWrap: true,
//                       scrollDirection: Axis.horizontal,
//                       itemBuilder: (_, index) {
//                         var item = boxs[index].querySelector('a');
//                         var title = item.attributes['title'];
//                         return InkWell(
//                           onTap: () {
//                             DioUtil.instance.get<String>(
//                                 '$_nfUrl${item.attributes['href']}',
//                                 (response) => Navigator.push(
//                                     context,
//                                     MaterialPageRoute(
//                                         builder: (_) => MFVideoInfoPage(
//                                               // element: parse(response).body,
//                                               // hero: _nfUrl +
//                                               //     item.attributes[
//                                               //         'data-original'],
//                                               // title: title,
//                                             ))),
//                                 (code, message) =>
//                                     print('code:$code, message: $message}'));
//                           },
//                           onDoubleTap: () => null,
//                           child: Container(
//                               decoration: BoxDecoration(
//                                   borderRadius:
//                                       BorderRadius.all(Radius.circular(10.r)),
//                                   color: Colors.white),
//                               clipBehavior: Clip.antiAlias,
//                               child: Stack(
//                                 children: [
//                                   Hero(
//                                     tag:
//                                         '${_nfUrl + item.attributes['data-original']}',
//                                     child: Image.network(
//                                         '${_nfUrl + item.attributes['data-original']}'),
//                                   ),
//                                   Positioned(
//                                     bottom: 0,
//                                     left: 0,
//                                     right: 0,
//                                     child: Container(
//                                       // height: 30.h,
//                                       color: Colors.black38,
//                                       child: Row(
//                                         mainAxisSize: MainAxisSize.min,
//                                         children: [
//                                           Expanded(
//                                             child: Text(
//                                               '$title',
//                                               style: TextStyle(
//                                                   color: Colors.white),
//                                             ),
//                                           ),
//                                           Flexible(
//                                             fit: FlexFit.loose,
//                                             child: Text.rich(
//                                               TextSpan(
//                                                   text:
//                                                       '${item.querySelectorAll('span')[1].text}\n',
//                                                   children: [
//                                                     TextSpan(
//                                                         text:
//                                                             '${item.querySelectorAll('span')[2].text}')
//                                                   ]),
//                                               style: TextStyle(
//                                                   fontSize: 10.sp,
//                                                   color: Colors.white),
//                                             ),
//                                           )
//                                         ],
//                                       ),
//                                     ),
//                                   ),
//                                 ],
//                               )),
//                         );
//                       },
//                       itemCount: boxs.length,
//                       separatorBuilder: (BuildContext context, int index) =>
//                           SizedBox(
//                         width: 4.w,
//                       ),
//                     ),
//                   );
//                 } else {
//                   return parsedChild;
//                 }
//               },
//             },
//           ),
//         ],
//       ),
//     );
//   }
//
//   Widget buildRecommend(dom.Element element) {
//     // var clearfix = parse(_data)
//     //     .body
//     //     // .getElementsByClassName('container')
//     //     // .first
//     //     .getElementsByClassName('myui-panel-box clearfix')[2];
//     return Padding(
//       padding: EdgeInsets.symmetric(horizontal: 8.0.w),
//       child: Column(
//         children: [
//           Row(
//             mainAxisAlignment: MainAxisAlignment.spaceBetween,
//             children: [
//               Text(
//                 '${element?.getElementsByClassName('myui-panel_hd')?.first?.querySelector('h3')?.text}',
//                 style: TextStyle(fontSize: 18.sp),
//               ),
//               Text(
//                 '${element?.getElementsByClassName('myui-panel_hd')?.first?.querySelector('span')?.text}',
//                 style: TextStyle(fontSize: 12.sp, color: Colors.grey),
//               ),
//             ],
//           ),
//           Html(
//             data:
//                 element?.querySelector('div.myui-panel_bd.clearfix')?.outerHtml,
//             shrinkWrap: true,
//             customRender: {
//               'ul': (
//                 _,
//                 parsedChild,
//                 attributes,
//                 element,
//               ) {
//                 if (null != attributes) {
//                   var boxs = element.querySelectorAll('li');
//                   return Container(
//                     height: 200.h,
//                     width: double.infinity,
//                     child: ListView.separated(
//                       shrinkWrap: true,
//                       scrollDirection: Axis.horizontal,
//                       itemBuilder: (_, index) {
//                         var item = boxs[index].querySelector('a');
//                         var title = item.attributes['title'];
//                         return InkWell(
//                           onTap: () {
//                             DioUtil.instance.get<String>(
//                                 '$_nfUrl${item.attributes['href']}',
//                                 (response) => Navigator.push(
//                                     context,
//                                     MaterialPageRoute(
//                                         builder: (_) => MFVideoInfoPage(
//                                               element: parse(response).body,
//                                               hero: _nfUrl +
//                                                   item.attributes[
//                                                       'data-original'],
//                                               title: title,
//                                             ))),
//                                 (code, message) =>
//                                     print('code:$code, message: $message}'));
//                           },
//                           onDoubleTap: () => null,
//                           child: Container(
//                               decoration: BoxDecoration(
//                                   borderRadius:
//                                       BorderRadius.all(Radius.circular(10.r)),
//                                   color: Colors.white),
//                               clipBehavior: Clip.antiAlias,
//                               child: Stack(
//                                 children: [
//                                   Hero(
//                                     tag:
//                                         '${_nfUrl + item.attributes['data-original']}',
//                                     child: Image.network(
//                                         '${_nfUrl + item.attributes['data-original']}'),
//                                   ),
//                                   Positioned(
//                                     bottom: 0,
//                                     left: 0,
//                                     right: 0,
//                                     child: Container(
//                                       // height: 30.h,
//                                       color: Colors.black38,
//                                       child: Row(
//                                         mainAxisSize: MainAxisSize.min,
//                                         children: [
//                                           Expanded(
//                                             child: Text(
//                                               '$title',
//                                               style: TextStyle(
//                                                   color: Colors.white),
//                                             ),
//                                           ),
//                                           Flexible(
//                                             fit: FlexFit.loose,
//                                             child: Text.rich(
//                                               TextSpan(
//                                                   text:
//                                                       '${item.querySelectorAll('span')[1].text}\n',
//                                                   children: [
//                                                     TextSpan(
//                                                         text:
//                                                             '${item.querySelectorAll('span')[2].text}')
//                                                   ]),
//                                               style: TextStyle(
//                                                   fontSize: 10.sp,
//                                                   color: Colors.white),
//                                             ),
//                                           )
//                                         ],
//                                       ),
//                                     ),
//                                   ),
//                                 ],
//                               )),
//                         );
//                       },
//                       itemCount: boxs.length,
//                       separatorBuilder: (BuildContext context, int index) =>
//                           SizedBox(
//                         width: 4.w,
//                       ),
//                     ),
//                   );
//                 } else {
//                   return parsedChild;
//                 }
//               },
//             },
//           ),
//         ],
//       ),
//     );
//   }
//
//   Widget buildExclusive(dom.Element element) {
//     // var clearfix = parse(_data)
//     //     .body
//     //     // .getElementsByClassName('container')
//     //     // .first
//     //     .getElementsByClassName('myui-panel-box clearfix')[1];
//     return Padding(
//       padding: EdgeInsets.symmetric(horizontal: 8.0.w),
//       child: Column(
//         children: [
//           Row(
//             mainAxisAlignment: MainAxisAlignment.spaceBetween,
//             children: [
//               Text(
//                 '${element?.getElementsByClassName('myui-panel_hd')?.first?.querySelector('h3')?.text}',
//                 style: TextStyle(fontSize: 18.sp),
//               ),
//               Text(
//                 '${element?.getElementsByClassName('myui-panel_hd')?.first?.querySelector('a')?.text}',
//                 style: TextStyle(fontSize: 12.sp, color: Colors.grey),
//               ),
//             ],
//           ),
//           Html(
//             data:
//                 element?.querySelector('div.myui-panel_bd.clearfix')?.outerHtml,
//             shrinkWrap: true,
//             customRender: {
//               'ul': (
//                 _,
//                 parsedChild,
//                 attributes,
//                 element,
//               ) {
//                 if (null != attributes) {
//                   var boxs = element.querySelectorAll('li');
//                   return Container(
//                     height: 200.h,
//                     width: double.infinity,
//                     child: ListView.separated(
//                       shrinkWrap: true,
//                       scrollDirection: Axis.horizontal,
//                       itemBuilder: (_, index) {
//                         var item = boxs[index].querySelector('a');
//                         var title = item.attributes['title'];
//                         return InkWell(
//                           onTap: () {
//                             DioUtil.instance.get<String>(
//                                 '$_nfUrl${item.attributes['href']}',
//                                 (response) => Navigator.push(
//                                     context,
//                                     MaterialPageRoute(
//                                         builder: (_) => MFVideoInfoPage(
//                                               element: parse(response).body,
//                                               hero: _nfUrl +
//                                                   item.attributes[
//                                                       'data-original'],
//                                               title: title,
//                                             ))),
//                                 (code, message) =>
//                                     print('code:$code, message: $message}'));
//                           },
//                           onDoubleTap: () => null,
//                           child: Container(
//                               decoration: BoxDecoration(
//                                   borderRadius:
//                                       BorderRadius.all(Radius.circular(10.r)),
//                                   color: Colors.white),
//                               clipBehavior: Clip.antiAlias,
//                               child: Stack(
//                                 children: [
//                                   Hero(
//                                     tag:
//                                         '${_nfUrl + item.attributes['data-original']}',
//                                     child: Image.network(
//                                         '${_nfUrl + item.attributes['data-original']}'),
//                                   ),
//                                   Positioned(
//                                     bottom: 0,
//                                     left: 0,
//                                     right: 0,
//                                     child: Container(
//                                       // height: 30.h,
//                                       color: Colors.black38,
//                                       child: Row(
//                                         mainAxisSize: MainAxisSize.min,
//                                         children: [
//                                           Expanded(
//                                             child: Text(
//                                               '$title',
//                                               style: TextStyle(
//                                                   color: Colors.white),
//                                             ),
//                                           ),
//                                           Flexible(
//                                             fit: FlexFit.loose,
//                                             child: Text.rich(
//                                               TextSpan(
//                                                   text:
//                                                       '${item.querySelectorAll('span')[1].text}\n',
//                                                   children: [
//                                                     TextSpan(
//                                                         text:
//                                                             '${item.querySelectorAll('span')[2].text}')
//                                                   ]),
//                                               style: TextStyle(
//                                                   fontSize: 10.sp,
//                                                   color: Colors.white),
//                                             ),
//                                           )
//                                         ],
//                                       ),
//                                     ),
//                                   ),
//                                 ],
//                               )),
//                         );
//                       },
//                       itemCount: boxs.length,
//                       separatorBuilder: (BuildContext context, int index) =>
//                           SizedBox(
//                         width: 4.w,
//                       ),
//                     ),
//                   );
//                 } else {
//                   return parsedChild;
//                 }
//               },
//             },
//           ),
//         ],
//       ),
//     );
//   }
//
//   Widget buildTopHot(dom.Element element) {
//     return Padding(
//       padding: const EdgeInsets.all(8.0),
//       child: Column(
//         children: [
//           Align(
//             alignment: Alignment.centerLeft,
//             child: Text(
//               '最新',
//               style: TextStyle(
//                   fontSize: Theme.of(context).textTheme.headline6.fontSize),
//             ),
//           ),
//           Html(
//             data: element?.querySelector('div.myui-panel_bd')?.outerHtml,
//             shrinkWrap: true,
//             customRender: {
//               'div': (
//                 _,
//                 parsedChild,
//                 attributes,
//                 element,
//               ) {
//                 if (null != attributes) {
//                   if (!TextUtil.isEmpty(attributes['class']) &&
//                       'myui-panel_bd' == attributes['class']) {
//                     // debugPrint(element.outerHtml);
//                     var boxs =
//                         element.getElementsByClassName('myui-vodlist__box');
//                     return Container(
//                       height: 200.h,
//                       width: double.infinity,
//                       child: ListView.separated(
//                         shrinkWrap: true,
//                         scrollDirection: Axis.horizontal,
//                         itemBuilder: (_, index) {
//                           var item = boxs[index].querySelector('a');
//                           var title = item.attributes['title'];
//                           return InkWell(
//                             onTap: () {
//                               DioUtil.instance.get<String>(
//                                   '$_nfUrl${item.attributes['href']}',
//                                   (response) => Navigator.push(
//                                       context,
//                                       MaterialPageRoute(
//                                           builder: (_) => MFVideoInfoPage(
//                                                 element: parse(response).body,
//                                                 hero: _nfUrl +
//                                                     item.attributes[
//                                                         'data-original'],
//                                                 title: title,
//                                               ))),
//                                   (code, message) =>
//                                       print('code:$code, message: $message}'));
//                             },
//                             onDoubleTap: () => null,
//                             child: Container(
//                                 decoration: BoxDecoration(
//                                     borderRadius:
//                                         BorderRadius.all(Radius.circular(10.r)),
//                                     color: Colors.white),
//                                 clipBehavior: Clip.antiAlias,
//                                 child: Stack(
//                                   children: [
//                                     Hero(
//                                       tag:
//                                           '${_nfUrl + item.attributes['data-original']}',
//                                       child: Image.network(
//                                           '${_nfUrl + item.attributes['data-original']}'),
//                                     ),
//                                     Positioned(
//                                       bottom: 0,
//                                       left: 0,
//                                       right: 0,
//                                       child: Container(
//                                         // height: 30.h,
//                                         color: Colors.black38,
//                                         child: Row(
//                                           mainAxisSize: MainAxisSize.min,
//                                           children: [
//                                             Expanded(
//                                               child: Text(
//                                                 '$title',
//                                                 style: TextStyle(
//                                                     color: Colors.white),
//                                               ),
//                                             ),
//                                             Flexible(
//                                               fit: FlexFit.loose,
//                                               child: Text.rich(
//                                                 TextSpan(
//                                                     text:
//                                                         '${item.querySelectorAll('span')[1].text}\n',
//                                                     children: [
//                                                       TextSpan(
//                                                           text:
//                                                               '${item.querySelectorAll('span')[2].text}')
//                                                     ]),
//                                                 style: TextStyle(
//                                                     fontSize: 10.sp,
//                                                     color: Colors.white),
//                                               ),
//                                             )
//                                           ],
//                                         ),
//                                       ),
//                                     ),
//                                   ],
//                                 )),
//                           );
//                         },
//                         itemCount: boxs.length,
//                         separatorBuilder: (BuildContext context, int index) =>
//                             SizedBox(
//                           width: 4.w,
//                         ),
//                       ),
//                     );
//                   } else {
//                     return parsedChild;
//                   }
//                 } else {
//                   return parsedChild;
//                 }
//               },
//             },
//             blacklistedElements: ["myui-vodlist__box"],
//           ),
//         ],
//       ),
//     );
//   }
// }
